package com.aihna.mall.domain.vo;

import java.math.BigDecimal;

import com.aihna.common.core.validate.AddGroup;
import com.aihna.common.core.validate.EditGroup;
import com.aihna.common.translation.annotation.Translation;
import com.aihna.common.translation.constant.TransConstant;
import com.aihna.mall.domain.StoreUserLevel;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.aihna.common.excel.annotation.ExcelDictFormat;
import com.aihna.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;



/**
 * 用户等级配置视图对象 vvl_store_user_level
 *
 * @author Joseph.Chen
 * @date 2024-04-14
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = StoreUserLevel.class)
public class StoreUserLevelVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 配置id
     */
    @ExcelProperty(value = "配置id")
    private Long id;

    /**
     * 等级名称
     */
    @ExcelProperty(value = "等级名称")
    private String name;

    /**
     * 是否为永久会员
     */
    @ExcelProperty(value = "是否为永久会员")
    private Integer isForever;

    /**
     * 会员等级
     */
    @ExcelProperty(value = "会员等级")
    private Long grade;

    /**
     * 会员图标
     */
    @ExcelProperty(value = "会员图标")
    private String icon;


    @Translation(type = TransConstant.OSS_ID_TO_URL, mapper = "icon")
    private String iconUrl;


    /**
     * 享受折扣
     */
    @ExcelProperty(value = "享受折扣")
    private BigDecimal discount;

    /**
     * 购买金额
     */
    @ExcelProperty(value = "购买金额")
    private BigDecimal money;

    /**
     * 有效时间
     */
    @ExcelProperty(value = "有效时间")
    private Long validDate;


    /**
     * 是否购买,1=购买,0=不购买
     */
    @ExcelProperty(value = "是否购买")
    private Integer isPay;

    /**
     * 是否显示 1=显示,0=隐藏
     */
    @ExcelProperty(value = "是否显示")
    private Integer isShow;


    /**
     * 会员卡背景
     */
    @ExcelProperty(value = "会员卡背景")
    private String image;

    /**
     * 说明
     */
    @ExcelProperty(value = "说明")
    private String description;


}
